var $discountCouponTable = $('#discountCouponFrom');
var $discountReissueTable=$("#discountReissueTable");//补发优惠券管理
var $reissueTable=$("#reissueTable");//批量补发弹框
var listData=[];
var productOrderIdData=[];
var abs = new verjs_select();
var dataList=[];
//防止表头与表格不对齐
$(window).resize(function () {
    $discountCouponTable.bootstrapTable('resetView');
    $discountReissueTable.bootstrapTable('resetView');//补发优惠券管理
    $reissueTable.bootstrapTable('resetView');//批量补发弹框
});

$(function(){
    // 解决table中点击行选中与checkbox冲突问题
    $('table').on('load-success.bs.table', function (e,data) {
        $(e.target).find('label.lyear-checkbox').on('click', function (e) {
            e.stopPropagation();
        })
    });
    discountCouponTable();
    discountReissueFun();//补发优惠券管理
    // //添加产品
    // memberProductFun()//会员产品
    // nomemberProductFun() //非会员产品


    $('#validPeriodStart').datetimepicker({
        format: 'YYYY-MM-DD HH:mm',
        locale: moment.locale('zh-cn'),
    }).on('dp.hide',function (event){
        if($('.form-coupon').data('bootstrapValidator')!=null){
            $('.form-coupon').data('bootstrapValidator')
                .updateStatus('validPeriodStart', 'NOT_VALIDATED',null)
                .validateField('validPeriodStart');
        }
    })

    $('#validPeriod').datetimepicker({
        format: 'YYYY-MM-DD HH:mm',
        locale: moment.locale('zh-cn'),

    }).on('dp.hide',function (event){

        if($('.form-coupon').data('bootstrapValidator')!=null){
            $('.form-coupon').data('bootstrapValidator')
                .updateStatus('validPeriod', 'NOT_VALIDATED',null)
                .validateField('validPeriod');
        }
    })

})

function discountCouponTable() {
    //先销毁表格
    $discountCouponTable.bootstrapTable('destroy');
    $discountCouponTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/coupon/couponPageList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'chsCustomerCouponId',
        idField: 'chsCustomerCouponId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: ["5","10","20","50"],//可供选择的每页的行数
        queryParams: queryParams,//查询参数
        columns: [
            {title: '主键', field: 'chsCustomerCouponId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '优惠券名称',field: 'couponName',align: 'left', valign: 'middle',width: 200},
            {title: '类型',field: 'couponType',align: 'left', valign: 'middle',width: 200, formatter: returnCouponType},
            {title: '折扣',field: 'couponDiscount',align: 'left', valign: 'middle',width: 200, formatter: returnCouponQuota},
            {title: '额度',field: 'couponQuota',align: 'left', valign: 'middle',width: 200, formatter: returnCouponDiscount},
            {title: '状态',field: 'couponStatus',align: 'left', valign: 'middle',width: 200, formatter: returnCouponStatus},
            {title: '数量',field: 'couponCount',align: 'left', valign: 'middle',width: 200, formatter: returnCouponCount},
            {title: '操作',field: 'operate',align: 'right',formatter: genderOpt}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 自定义操作列内容
 */
function genderOpt(value, row, index) {
    let html = '';
    html += '<button class="btn btn-default" ' +
        'onclick="detailDiscountCoupon(\''+row.chsCustomerCouponId+'\')">详情</button>';

    html += '<button class="btn btn-default" data-toggle="modal" data-target="#addCoupon" aria-expanded="false" aria-controls="addCoupon" ' +
        'onclick="updateDiscountCoupon(\''+row.chsCustomerCouponId+'\')">修改</button>';
    if (row.couponStatus == 0){
        html += '<button class="btn btn-default" onclick="stopDiscountCoupon(\''+row.chsCustomerCouponId+'\',1)">停用</button>';
    }
    if (row.couponStatus == 1){
        html += '<button class="btn btn-default" onclick="stopDiscountCoupon(\''+row.chsCustomerCouponId+'\',0)">启用</button>';
    }

    html += '</ul></div>'
    return html;
}
function detailDiscountCoupon(couponId) {
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '优惠详情',
        url : "/front/activityManager/couponDetail?couponId="+couponId+"&type="+1
    }, true);
}

//启用\停用优惠券
function stopDiscountCoupon(chsCustomerCouponId,type) {
    var chsCustomerCouponId = chsCustomerCouponId;
    var couponStatus =type;
    var data = {
        "chsCustomerCouponId":chsCustomerCouponId,
        "couponStatus": couponStatus
    }
    $.ajax({
        url: '/coupon/addCouponOrUpdateCoupon',
        async: false,
        type: "post",
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(data),
        success: function (data) {
            if (data.code == '000000') {
                $.alert('操作成功!');
                window.location.reload();
            } else {
                $.alert(data.message);
            }
        },
        error: function () {
            console.log('error')
        }
    });
}

//回显数据
function updateDiscountCoupon(chsCustomerCouponId) {
    initDetail(chsCustomerCouponId)
    // $("#couponIdHide").val(chsCustomerCouponId);
    // $("#couponName2").val(couponName);
    // $("#couponType2").val(couponType);
    // $("#couponDiscount").val(couponDiscount);
    // $("#couponQuota").val(couponQuota);
    // if (couponType == 1){
    //     $("#couponQuota").val("");
    // }
    // if (couponType == 2){
    //     $("#couponDiscount").val("");
    // }
    // $("#couponCount").val(couponCount);
}

function queryParams(params) {
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    // var couponType = $('#couponType').val();
    // if (couponType == "discountCoupon"){
    //     params.couponType = 1;
    // }else if (couponType == "activityCoupon"){
    //     params.couponType = 2;
    // }else if (couponType == "repairCoupon"){
    //     params.couponType = 3;
    // }
    params.couponName = $.trim($('#couponName').val());//优惠券名称
    return params;
}

/**
 * 搜索点击事件
 */
function searchOrderLists(type,value){
    $discountCouponTable.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParams});
}


//提交表单
function addCoupon() {
    var couponProperty;
    var chsCustomerCouponId = $("#couponIdHide").val();
    var couponName = $("#couponName2").val();
    var couponType = $("#couponType2").val();//优惠券类型
    var couponDiscount = $("#couponDiscount").val();//折扣
    var couponQuota = $("#couponQuota").val();//额度
    var couponCount = $("#couponCount").val();//数量
    if (!couponName){
        $.alert("优惠券名称不能为空");
        return;
    }
    if ("请选择" == couponType){
        $.alert("请选择优惠券类型");
        return;
    }
    if (couponType == 2 && !couponQuota){
        $.alert('优惠券类型为"额度"时，额度不能为空');
        return;
    }
    if (couponType == 1 && !couponDiscount){
        $.alert('优惠券类型为"折扣"时，折扣不能为空');
        return;
    }
    if (!couponCount){
        $.alert("优惠券数量不能为空");
        return;
    }
    if ($('#couponType').val() == "discountCoupon"){
        couponProperty = 1;
    }else if ($('#couponType').val() == "activityCoupon"){
        couponProperty = 2;
    }else if ($('#couponType').val() == "repairCoupon"){
        couponProperty = 3;
    }
    if (couponType == 1){
        couponQuota = null;
    }else if (couponType == 2){
        couponDiscount = null;
    }
    var data = {
        "chsCustomerCouponId":chsCustomerCouponId,
        "couponName": couponName,
        "couponType": couponType,
        "couponDiscount": couponDiscount,
        "couponQuota": couponQuota,
        "couponCount": couponCount,
        "couponProperty": couponProperty
    }
    $.ajax({
        url: '/coupon/addCouponOrUpdateCoupon',
        async: false,
        type: "post",
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(data),
        success: function (data) {
            if (data.code == '000000') {
                $.alert('操作成功!');
                window.location.reload();
            } else {
                $.alert(data.message);
            }
        },
        error: function () {
            console.log('error')
        }
    });

}

//切换table
function selectPlan(type) {
    if (type == 'discountCoupon') {//通用优惠券管理
        $('.discountCoupon').addClass('active-second');
        $('.activityCoupon').removeClass('active-second');
        $('.repairCoupon').removeClass('active-second');
        $("#couponType").val("discountCoupon");

        $(".tab-cont").eq(0).addClass('tab-active');
        $(".tab-cont").eq(0).siblings().removeClass('tab-active')
    }
    if (type == 'activityCoupon') {//活动优惠券管理
        $('.activityCoupon').addClass('active-second');
        $('.discountCoupon').removeClass('active-second');
        $('.repairCoupon').removeClass('active-second');
        $("#couponType").val("activityCoupon");

    }
    if (type == 'repairCoupon') {//补发优惠券管理
        $('.repairCoupon').addClass('active-second');
        $('.discountCoupon').removeClass('active-second');
        $('.activityCoupon').removeClass('active-second');
        $("#couponType").val("repairCoupon");
        $(".tab-cont").eq(2).addClass('tab-active');
        $(".tab-cont").eq(2).siblings().removeClass('tab-active')
        reissueTableFun();//批量补发弹框
    }
}

//优惠券使用情绪
function returnCouponCount(value, row, index) {
    var html = "";
    if (value > 0){
        html = row.couponUseCount+"/"+value;
    }else if (row.couponUseCount > 0){
        html= row.couponUseCount+"/0";
    }
    return html;
}

//优惠券状态
function returnCouponStatus(value, row, index) {
    var html = "";
    if (value == 1){
        html = "停用"
    }
    if (value == 0){
        html = "正常"
    }
    return html;
}

//优惠券类型
function returnCouponType(value, row, index) {
    var html = "";
    if (value == 1){
        html = "折扣类"
    }
    if (value == 2){
        html = "额度类"
    }
    return html;
}

//优惠券折扣
function returnCouponQuota(value, row, index) {
    var html = "";
    if (row.couponType == 1){
        html = value
    }
    return html;
}

//优惠券折扣
function returnCouponDiscount(value, row, index) {
    var html = "";
    if (row.couponType == 2){
        html = value
    }
    return html;
}

//批次
function indexFormat(value, row, index) {
    return index + 1;
}

function clearAllData() {
    window.location.reload();
}


function grantButton(value, row, index) {
    let html='';
    html+='<button type="button" class="btn btn-default" id="grantId">发放</button>'
    return html;
}

window.grantClick={
    "click #grantId":function (e, value, row, index) {
        // if($discountReissueTable.bootstrapTable('getSelections').length==0){
        //     $.alert('请选择需要发放的订单！');
        // }else{
        //
        // }
        productOrderIdData.push({
            productOrderId:row.productOrderId,
            customerId:row.customerId
        })
        $("#batchSend").modal('show')

    }
}

function queryParamsDiscount(params) {
        params.pageSize = params.limit;
        params.pageIndex = (params.offset / params.limit) + 1;
        params.sortName = params.sort; //排序列名
        params.sortOrder = params.order;//排序方式
        params.orderNumber=$("#orderNumber").val();//订单编号
        params.orderActualTotalAmountStart=$("#startMoney").val(); //订单实际总金额
        params.orderActualTotalAmountEnd=$("#endMoney").val();//订单实际总金额
        params.orderCompleteTmStart=$("#startDate").val();//订单完成时间
        params.orderCompleteTmEnd=$("#endDate").val();//订单完成时间
        params.productLists=JSON.stringify(listData)
    return params;
}

//function (params) {
//             let temp = {
//                 pageSize : params.limit,
//                 pageIndex : (params.offset / params.limit) + 1,
//                 sortName : params.sort, //排序列名
//                 sortOrder : params.order,//排序方式
//                 orderNumber:$("#orderNumber").val(),//订单编号
//                 orderActualTotalAmountStart:$("#startMoney").val(), //订单实际总金额
//                 orderActualTotalAmountEnd:$("#endMoney").val(),//订单实际总金额
//                 orderCompleteTmStart:$("#startDate").val(),//订单完成时间
//                 orderCompleteTmEnd:$("#endDate").val(),//订单完成时间
//                 productLists:JSON.stringify(listData)
//             }
//             return temp;
//         }
//补发优惠券管理
function discountReissueFun() {
    //先销毁表格
    $discountReissueTable.bootstrapTable('destroy');
    $discountReissueTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        //原数据库请求地址
        //url:'/couponissued/selectCustomerProductOrder',
        //ES请求地址，ES数据实时将已完成的订单同步至ES
        url: $("#esurl").val()+'/order/selectCustomerProductOrder',
        //url: 'http://localhost:8089/order/selectCustomerProductOrder',
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页

        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: true,//是否启用点击选中行
        maintainSelected: true,// 分页是否保留选中
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页

        uniqueId: 'productOrderId',
        idField: 'productOrderId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: ["5","10","20","50"],//可供选择的每页的行数

        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "productOrderId",// 已选项的唯一识别主键

        queryParams: queryParamsDiscount,//查询参数
        columns: [
            {title: '主键', field: 'productOrderId', visible: false},
            {title: '',field: 'checked', checkbox:true, align: 'left', valign: 'middle'},
            {title: '订单名称',field: 'orderNumber',align: 'left', valign: 'middle'},
            {title: '客户名称',field: 'customerName',align: 'left', valign: 'middle'},
            {title: '订单金额',field: 'orderActualTotalAmount',align: 'left', valign: 'middle' },
            {title: '操作',field: 'operate',align: 'right',events:grantClick,formatter:grantButton}
        ],
        responseHandler: function (result) {
            if (result.code == "200") {
                var obj = {
                    "rows": result.data.list,
                    "total": result.data.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });

}



/**
 * //批量补发弹框
 * */
function reissueTableFun(){
    $reissueTable.bootstrapTable('destroy');
    // $('#productListTable').bootstrapTable('refresh');
    $reissueTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        // url: '/coupon/couponPageList',// '/customerMemberProduct/selectContractMemberProductList',//请求地址
        url: '/coupon/availableCouponList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",                   // 数据类型
        striped: true,                      // 是否显示行间隔色
        sortable: true,                     // 是否启用排序
        sortOrder: "desc",                  // 排序方式
        sortName: 'productName',            // 排序字段
        cache: false,                       // 是否使用缓存
        showColumns: false,                 // 显示隐藏列
        showRefresh: false,                 // 显示刷新按钮
        showToggle: false,                  // 切换显示样式
        showFooter: false,                  // 显示Table脚部
        pagination: true,                   // 是否显示分页
        showPaginationSwitch: false,        // 是否显示分页按钮
        clickToSelect: true,                // 是否启用点击选中行
        maintainSelected: true,             // 分页是否保留选中
        singleSelect: false,
        minimumCountColumns: 2,             // 最少要显示的列数
        undefinedText: '-',                  // cell没有值时显示
        sidePagination: "server",           // 分页方式：client客户端分页，server服务端分页
        // serverSort: true,
        uniqueId: 'chsCustomerCouponId',
        idField: 'chsCustomerCouponId',
        pageSize: 5,                        // 每页的记录行数
        pageNumber: 1,                      // 初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",        // 可供选择的每页的行数

        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "chsCustomerCouponId",// 已选项的唯一识别主键
        queryParams:function (params) {
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            // params.sortName = params.sort; //排序列名
            // params.sortOrder = params.order;//排序方式
            // var couponType = $('#couponType').val();
            // if (couponType == "discountCoupon"){
            //     params.couponType = 1;
            // }else if (couponType == "activityCoupon"){
            //     params.couponType = 2;
            // }else if (couponType == "repairCoupon"){
            //     params.couponType = 3;
            // }
            // params.couponType = 1;
            params.couponName = $.trim($('#couponName').val());//优惠券名称
            return params;
        },//查询参数
        columns: [
            {title: '主键', field: 'chsCustomerCouponId', visible: false},
            {checkbox: true, visible: true},
            {title: '优惠券名称', field: 'couponName', align: 'left', valign: 'middle'},
            {title: '有效期', field: 'validPeriod', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if(result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
            // console.log(data)
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
* 点击批量筛选
*
* */

function batchSendTarget() {
    if($discountReissueTable.bootstrapTable('getSelections').length==0){
        $.alert('请选择需要批量发放的订单！');
    }else{
        $("#batchSend").modal('show');
        let discountReissue=$discountReissueTable.bootstrapTable('getSelections');
        productOrderIdData=[];
        for(let i=0,len=discountReissue.length;i<len;i++){
            productOrderIdData.push({
                productOrderId:discountReissue[i].productOrderId,
                customerId:discountReissue[i].customerId
            })

        }
    }

}

/*
提交
* ****/
function batchSendSubmit() {
    if($reissueTable.bootstrapTable('getSelections').length==0){
        $.alert('请选择需要的优惠券！')
    }else{
        let $reissueData=$reissueTable.bootstrapTable('getSelections');
        let reissueList=[];
        for(let i=0,len=$reissueData.length;i<len;i++){
            reissueList.push($reissueData[i].chsCustomerCouponId)

        }

        $.ajax({
            url:"/couponissued/addCouponToCustomer",
            method:'post',
            contentType:'application/json;charset=utf-8',
            data:JSON.stringify({
                productOrderIdList:productOrderIdData,
                couponIdList:reissueList
            }),
            success:function (data) {
                if(data.result=='000000'){
                    $.alert({
                        title: '提示',
                        content: '操作成功！',
                        buttons: {
                            confirm: {
                                text: '确认',
                                btnClass: 'btn-primary',
                                action: function () {
                                    $("#batchSend").modal('hide');
                                    // $("#reissueTable").bootstrapTable('refresh');
                                    reissueTableFun()
                                    // $("#discountReissueTable").bootstrapTable('refresh');
                                    discountReissueFun()


                                }
                            }
                        }
                    });

                }else{
                    $.alert(data.result)
                }

            },
            error:function (err) {
                $.alert('失败')
            }
        })
    }
}


/**
 *
 *
//高筛
 */
//重置
function resetAllData(){
    $("#startDate").val('');
    $("#endDate").val('');
    $("#startMoney").val('');
    $("#endMoney").val('');
    listData=[]
    $("#contractStatusSelectMultiple").val('');
    $("#contractSelectMultiple").val('');
    $("#contractStatusSelectMultiple").selectpicker('refresh');
    $("#contractSelectMultiple").selectpicker('refresh');
}
//搜索
function searchOrderList(){
    if($("#contractStatusSelectMultiple").val()!=null && $("#contractSelectMultiple").val()!=null){
        listData=$("#contractStatusSelectMultiple").val().concat($("#contractSelectMultiple").val());
    }else if($("#contractStatusSelectMultiple").val()!=null && $("#contractSelectMultiple").val()==null){
        listData=$("#contractStatusSelectMultiple").val();
    }else if($("#contractStatusSelectMultiple").val()==null && $("#contractSelectMultiple").val()!=null){
        listData=$("#contractSelectMultiple").val();
    }

    // $discountReissueTable.bootstrapTable('refresh');
    $discountReissueTable.bootstrapTable('refreshOptions', {pageNumber: 1, queryParams: queryParamsDiscount});
}
/*会员卡*/
$.ajax({
    url:"/customerMemberProduct/selectCustomerMemberProductList",
    type: "post",
    contentType: "application/x-www-form-urlencoded",
    data: {
        pageIndex:'1',
        pageSize:'10000000',
        sysType:'management',
        productStatus:''
    },
    success:function (data) {
        let html=''
        if(data.code==='000000'){

            $.each(data.data, function(n, value) {
                html += "<option value=" + value.memberProductId + ">" +  value.memberCardName + "</option>";
            });
            $("#contractStatusSelectMultiple").html(html);
            $("#contractStatusSelectMultiple").selectpicker('refresh')
        }
    }
})

/*非会员为 tag 1*/
$.ajax({
    url:"/customerProduct/selectCustomerProductList",
    type: "post",
    contentType: "application/x-www-form-urlencoded",
    data: {
        pageIndex:'1',
        pageSize:'10000000',
        tag:1
    },
    success:function (data) {
        let html=''
        if(data.code==='000000'){

            $.each(data.data, function(n, value) {
                html += "<option value=" + value.customerProductId + ">" +  value.productName + "</option>";
            });
            $("#contractSelectMultiple").html(html);
            $("#contractSelectMultiple").selectpicker('refresh')
        }
    }
})

//添加优惠券
function addNewCoupon() {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '新增优惠券',
        url: "/front/activityManager/addCoupon"
    }, true);
}

// 修改 优惠券

function initDetail(couponId) {
    let data={
        couponId
    }
    // $type ==1 优惠券跳转过来，  $type==0 客户详情跳转

    $.ajax({
        url:"/coupon/couponInfo",
        type:"get",
        data:data,
        success:function (data) {

            if(data.code==='000000'){
                let result=data.data;
                console.log('为1时不展示优惠券适用产品',result.scopeOfApplication)



                $("#chsCustomerCouponId").val(result.chsCustomerCouponId); //优惠券ID
                $("#couponNameInput").val(result.couponName); //优惠券名称
                $("#couponCount").val(result.couponCount); //优惠券数量
                //
                $("#couponQuota").val(result.couponQuota); // 优惠券额度
                $("#couponDiscount").val(result.couponDiscount); // 优惠券优惠折扣
                $("#useType").val(result.useType); // 优惠券额度
                $("#validPeriodStart").val(result.validPeriodStart); // 有效期开始
                $("#validPeriod").val(result.validPeriod); // 有效期结束
                $("#useType").selectpicker('refresh');

                if(result.couponType==1){
                //    1折扣类 2额度类
                    $(".coupon-discount").show();
                    $(".coupon-quota").hide();

                }else{
                    $(".coupon-quota").show();
                    $(".coupon-discount").hide();
                }

                // 使用方式


                // 适用范围 为1时不展示优惠券适用产品
                $("#scopeOfApplication").val(result.scopeOfApplication);

                if(result.scopeOfApplication==0){
                    $(".active-coupon").show()
                    productNameListTable();
                    $('#productNameList').bootstrapTable('removeAll');
                    if(result.productNameList==null){
                        $('#productNameList').bootstrapTable('append', []);
                    }else{
                        $('#productNameList').bootstrapTable('append', result.productNameList);
                    }
                }else{
                    $(".active-coupon").hide()
                }






            }

        },
        error:function (err) {
            $.alert(err.message)
        }
    })
}

function grantButtonCardName(value,row,index) {
    let html='<button type="button" class="btn btn-default" id="grantDelect" onclick="removeRow(this, \'' + row.memberProductId + '\')">删除</button>';
    return html;
}


/**
 * 功能：删除行
 * 参数：fieldId - 删除行的目标列字段名称
 * */
function removeRow(_this, fieldId) {
    $(_this).parents('table').bootstrapTable('removeByUniqueId', fieldId);
}

// 优惠券适用产品
function productNameListTable() {
    $('#productNameList').bootstrapTable({
        class: 'table table-bordered table-hover table-striped',
        striped: true,                  // 是否显示行间隔色
        sortable: true,                 // 是否启用排序
        pagination: true,              // 是否显示分页
        minimumCountColumns: 2,         // 最少要显示的列数
        undefinedText: '-',             // cell没有值时显示
        uniqueId: 'memberProductId',
        toolbar: '#memberProductId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: ["5","10","20","50"],//可供选择的每页的行数

        columns: [

            {title: '序号', field: 'index',align: 'left', valign: 'middle',width:50,formatter: indexFormat},
            {title: '产品名称', field: 'memberCardName',align: 'left', valign: 'middle',},
            {title: '操作',field: 'operate',align: 'right',formatter:grantButtonCardName}

        ],
        onPostBody: function (data) {
            // priceTotal();
        },
    });
}


function addProductFun() {
    memberProductFun();
    nomemberProductFun()
}


//添加产品 会员产品
function memberProductFun() {
    $('#memberProductListTable').bootstrapTable('destroy');
    $('#memberProductListTable').bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerMemberProduct/selectCustomerMemberProductList',  // 请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",                   // 数据类型
        striped: true,                      // 是否显示行间隔色
        sortable: true,                     // 是否启用排序
        sortOrder: "desc",                  // 排序方式
        sortName: 'productName',            // 排序字段
        cache: false,                       // 是否使用缓存
        showColumns: false,                 // 显示隐藏列
        showRefresh: false,                 // 显示刷新按钮
        showToggle: false,                  // 切换显示样式
        showFooter: false,                  // 显示Table脚部
        pagination: true,                   // 是否显示分页
        showPaginationSwitch: false,        // 是否显示分页按钮
        clickToSelect: true,                // 是否启用点击选中行
        maintainSelected: true,             // 分页是否保留选中
        singleSelect: false,
        minimumCountColumns: 2,             // 最少要显示的列数
        undefinedText: '-',                  // cell没有值时显示
        sidePagination: "server",           // 分页方式：client客户端分页，server服务端分页
        // serverSort: true,
        uniqueId: 'memberProductId',
        idField: 'memberProductId',
        pageSize: 5,                        // 每页的记录行数
        pageNumber: 1,                      // 初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",        // 可供选择的每页的行数

        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "memberProductId",// 已选项的唯一识别主键

        queryParams: function(params) {
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort;                  //排序列名
            params.sortOrder = params.order;                //排序方式
            params.tag = 1;

            return params
        },//查询参数
        columns: [
            {title: '主键', field: 'memberProductId', visible: false,

            },
            {title: '',field: 'checked',checkbox: true,valign: 'middle',},
            {title: '会员卡名称', field: 'memberCardName', align: 'left', valign: 'middle'},
            {title: '会员产品编码', field: 'memberProductCode', align: 'left', valign: 'middle'},
            // {title: '售卡价格', field: 'sellingCardPrice', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if(result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
            // console.log(data)
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });



}


//非会员产品
function nomemberProductFun() {
    $('#nomemberProductListTable').bootstrapTable('destroy');
    $('#nomemberProductListTable').bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerProduct/selectCustomerProductListForCoupon',
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",                   // 数据类型
        striped: true,                      // 是否显示行间隔色
        sortable: true,                     // 是否启用排序
        sortOrder: "desc",                  // 排序方式
        sortName: 'createTm',               // 排序字段
        cache: false,                       // 是否使用缓存
        showColumns: false,                 // 显示隐藏列
        showRefresh: false,                 // 显示刷新按钮
        showToggle: false,                  // 切换显示样式
        showFooter: false,                  // 显示Table脚部
        pagination: true,                   // 是否显示分页
        showPaginationSwitch: false,        // 是否显示分页按钮
        clickToSelect: true,                // 是否启用点击选中行
        maintainSelected: true,             // 分页是否保留选中
        singleSelect: false,
        minimumCountColumns: 2,             // 最少要显示的列数
        undefinedText: '',                  // cell没有值时显示
        sidePagination: "server",           // 分页方式：client客户端分页，server服务端分页

        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "memberProductId",// 已选项的唯一识别主键

        // serverSort: true,
        uniqueId: 'memberProductId',
        idField: 'memberProductId',
        pageSize: 5,                        // 每页的记录行数
        pageNumber: 1,                      // 初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",        // 可供选择的每页的行数

        queryParams: function(params) {
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort;                  //排序列名
            params.sortOrder = params.order;                //排序方式
            params.tag = 0;

            return params
        },//查询参数
        columns: [
            {title: '主键', field: 'memberProductId', visible: false},
            {field: 'checked',checkbox: true,  visible: true},
            {title: '产品名称',field: 'memberCardName', align: 'left', valign: 'middle'},
            {title: '产品编码',field: 'memberProductCode', align: 'left', valign: 'middle'},

            // {title: '产品原价', field: 'productOriginalPrice', align: 'left',valign: 'middle'},
            // {title: '产品单价', field: 'productUnitPrice', align: 'left',valign: 'middle'},
            // {title: '产品会员价', field: 'productMemberPrice', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if(result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function (data) {
            // console.log(data)
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });

}

// 点击 会员和非会员切换
function memberProductFunClick(key) {
    if(key==0){
        //会员
        $(".memberProductListTable").show();
        $(".nomemberProductListTable").hide()
    }else{
        //非会员
        $(".nomemberProductListTable").show()
        $(".memberProductListTable").hide();
    }
}

// 点击添加产品
function addPartProduct() {
    dataList=[];
    dataList=$('#memberProductListTable').bootstrapTable('getSelections').concat($('#nomemberProductListTable').bootstrapTable('getSelections'));
    //
    let beforeAddProduct=$("#productNameList").bootstrapTable('getData');

    for(let j=0,lens=beforeAddProduct.length;j<lens;j++){
        for(let i=0,len=dataList.length;i<len;i++){
            if(dataList[i].memberProductId==beforeAddProduct[j].memberProductId){
                let tx= dataList[i].memberCardName +" 重复选择！ "
                $.alert(tx);
                return false;

            }
        }
    }

    if(dataList.length<=0){
        $.alert('请选择产品！');
    }else{
        $("#addProduct").modal('hide')
        // productListFun();
        $('#productNameList').bootstrapTable('append',dataList)
    }
}

// 修改提交
function editSubmit() {
    $('.form-coupon').bootstrapValidator({
        fields: {
            couponNameInput: {
                validators: {
                    notEmpty: {
                        message: '优惠券名称不能为空'
                    },

                }
            },

            couponCount: {
                validators: {
                    notEmpty: {
                        message: '优惠券数量不能为空'
                    }
                }
            },
            couponQuota: {
                validators: {
                    notEmpty: {
                        message: '优惠券额度不能为空'
                    },
                    regexp: {
                        regexp: /^\d+(\.\d{0,2})?$/,
                        message: '请输入大于0的数!'
                    }
                }
            },
            couponDiscount: {
                validators: {
                    notEmpty: {
                        message: '优惠券优惠折扣不能为空'
                    },
                    regexp: {
                        regexp: /0\.[0-9]+/,
                        message: '请输入大于0小于1的数!'
                    }
                }
            },
            //
            useType: {
                validators: {
                    notEmpty: {
                        message: '优惠券使用方式不能为空'
                    }
                }
            },
            validPeriodStart: {
                validators: {
                    notEmpty: {
                        message: '优惠券使用有效期不能为空'
                    }
                }
            },
            validPeriod: {
                validators: {
                    notEmpty: {
                        message: '优惠券使用有效期不能为空'
                    }
                }
            },


        },
    })
    $(".form-coupon").bootstrapValidator('validate');//提交验证
    if (!$(".form-coupon").data('bootstrapValidator').isValid()) {//获取验证结果，如果成功，执行下面代码

        return;
    }

    let productData=$('#productNameList').bootstrapTable('getData'),productId=[];
// 适用范围 为1时不展示优惠券适用产品
    if($("#scopeOfApplication").val()==='1'){
        productId=[]
    }else if($("#scopeOfApplication").val()=='0' && productData.length<=0){
        $.alert('请选择产品！')
    }else{
        for(let i=0,lens=productData.length;i<lens;i++){
            productId.push(productData[i].memberProductId)
        }
    }


    let data={
        // "":,
        "chsCustomerCouponId":$("#chsCustomerCouponId").val(),// ID
        "couponName":$("#couponNameInput").val(), //优惠券名称
        // "couponType":Number($("#couponType").val()),//优惠券类型
        "couponQuota":Number($("#couponQuota").val()),//优惠券额度
        "couponDiscount":Number($("#couponDiscount").val()),//优惠券优惠折扣
        // "scopeOfApplication":Number(radioVal),// 适用范围
        "couponCount":Number($("#couponCount").val()),//优惠券数量
        "validPeriod":$("#validPeriod").val(),//有效期结束
        "validPeriodStart":$("#validPeriodStart").val(),//有效期开始
        "useType":Number($("#useType").val()),//使用方式
        "productList":productId//productList
    }

    $.ajax({
        url:"/coupon/addCouponOrUpdateCoupon",
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(data),
        success:function (data) {
            if(data.code==='000000'){
                $.alert({
                    title: '提示',
                    content: "成功！",
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                $("#addCoupon").modal('hide');
                                $("#discountCouponFrom").bootstrapTable('refresh');

                            }
                        },

                    }
                })
            }else if(data.code==='CO0001'){
                $.alert('优惠券名称已存在！')
            }else{
                $.alert('失败！')
            }
        },
        error:function (error) {
            $.alert('失败！')
        }
    })
}
